home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / AbstractAction.class (.txt) next >
Encoding:
Java Class File  |  1999-07-15  |  2.3 KB  |  86 lines

  1. package javax.swing;
  2.  
  3. import java.awt.event.ActionEvent;
  4. import java.beans.PropertyChangeListener;
  5. import java.io.Serializable;
  6. import javax.swing.event.SwingPropertyChangeSupport;
  7.  
  8. public abstract class AbstractAction implements Action, Cloneable, Serializable {
  9.    protected boolean enabled;
  10.    private ArrayTable arrayTable;
  11.    protected SwingPropertyChangeSupport changeSupport;
  12.  
  13.    public AbstractAction() {
  14.       this.enabled = true;
  15.       this.arrayTable = new ArrayTable(this);
  16.    }
  17.  
  18.    public AbstractAction(String var1) {
  19.       this.enabled = true;
  20.       this.arrayTable = new ArrayTable(this);
  21.       this.putValue("Name", var1);
  22.    }
  23.  
  24.    public AbstractAction(String var1, Icon var2) {
  25.       this(var1);
  26.       this.putValue("SmallIcon", var2);
  27.    }
  28.  
  29.    public abstract void actionPerformed(ActionEvent var1);
  30.  
  31.    public synchronized void addPropertyChangeListener(PropertyChangeListener var1) {
  32.       if (this.changeSupport == null) {
  33.          this.changeSupport = new SwingPropertyChangeSupport(this);
  34.       }
  35.  
  36.       this.changeSupport.addPropertyChangeListener(var1);
  37.    }
  38.  
  39.    protected Object clone() throws CloneNotSupportedException {
  40.       AbstractAction var1 = (AbstractAction)super.clone();
  41.       var1.arrayTable = (ArrayTable)this.arrayTable.clone();
  42.       return var1;
  43.    }
  44.  
  45.    protected void firePropertyChange(String var1, Object var2, Object var3) {
  46.       if (this.changeSupport != null) {
  47.          this.changeSupport.firePropertyChange(var1, var2, var3);
  48.       }
  49.    }
  50.  
  51.    public Object getValue(String var1) {
  52.       return this.arrayTable.get(var1);
  53.    }
  54.  
  55.    public boolean isEnabled() {
  56.       return this.enabled;
  57.    }
  58.  
  59.    public synchronized void putValue(String var1, Object var2) {
  60.       Object var3 = null;
  61.       if (this.arrayTable.containsKey(var1)) {
  62.          var3 = this.arrayTable.get(var1);
  63.       }
  64.  
  65.       if (var2 == null) {
  66.          this.arrayTable.remove(var1);
  67.       } else {
  68.          this.arrayTable.put(var1, var2);
  69.       }
  70.  
  71.       this.firePropertyChange(var1, var3, var2);
  72.    }
  73.  
  74.    public synchronized void removePropertyChangeListener(PropertyChangeListener var1) {
  75.       if (this.changeSupport != null) {
  76.          this.changeSupport.removePropertyChangeListener(var1);
  77.       }
  78.    }
  79.  
  80.    public synchronized void setEnabled(boolean var1) {
  81.       boolean var2 = this.enabled;
  82.       this.enabled = var1;
  83.       this.firePropertyChange("enabled", new Boolean(var2), new Boolean(var1));
  84.    }
  85. }
  86.